package com.lining.orangeservice.entity.po;

import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * 订单统计信息DTO
 */
@Data
public class OrderStatistics {
    
    /**
     * 统计开始日期
     */
    private LocalDate startDate;
    
    /**
     * 统计结束日期
     */
    private LocalDate endDate;
    
    /**
     * 订单总数量
     */
    private Long totalOrders;
    
    /**
     * 成功订单数量
     */
    private Long successfulOrders;
    
    /**
     * 取消订单数量
     */
    private Long cancelledOrders;
    
    /**
     * 总交易金额
     */
    private BigDecimal totalAmount;
    
    /**
     * 平均订单金额
     */
    private BigDecimal averageOrderAmount;
    
    /**
     * 不同支付方式的订单分布
     */
    private PaymentDistribution paymentDistribution;
    
    /**
     * 支付方式分布内部类
     */
    @Data
    public static class PaymentDistribution {
        private Long alipayCount;
        private Long wechatPayCount;
        private Long bankTransferCount;
        // 可根据实际的 PaymentMethod 枚举添加更多字段
    }
}
